#ifndef CHARACTER_H
#define CHARACTER_H

#include "boost_filesystem.h"
#include "boost/shared_ptr.hpp"

#include "Entity.h"

class Character : public Entity
{    
public:
    Character(sf::Vector2f position, int hpMax, AnimatedSpritePtr sprite);
    virtual ~Character();

    int getHealthMax() const; //Returns maximum health
    int getHealthNow() const; //Returns health at this time

    void setHealthMax(const int hpMax);
    void setHealthNow(const int hpNow);
    bool isAlive() const;
    
    virtual void move(const sf::Vector2f& distance);
    virtual void update(float delta);
private:
    int hpMax;
    int hpNow;
};

typedef boost::shared_ptr<Character> CharacterPtr;

#endif